package priv.yiyuan.example.design.flyweight;

/**
 * 视频资源
 * <p>
 * 享元模式-具体享元
 *
 * @author YiYuan
 * @data 2025/9/16
 * @apoNote
 */
public class VideoResource implements CourseResource {

    private final String type;

    // 包含有视频资源内容，每个用户看到的视频都是一样的，只是各自进度不同，仅使用一个实例对象即可。
    // 将各自进度传入返回即可。

    public VideoResource(String type) {
        this.type = type;
        System.out.println("创建了一个新的视频资源对象: " + type);
    }

    @Override
    public void preview(String extrinsicState) {
        System.out.println("正在预览 " + type + " 视频, 进度: " + extrinsicState);
    }

    @Override
    public String getType() {
        return type;
    }
}
